home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / coral / coral.h < prev    next >
C/C++ Source or Header  |  1995-05-03  |  3KB  |  106 lines

  1.  
  2. /*************************************************************************
  3.  *                                                                       *
  4.  *  Copyright (c) 1992, 1993 Ronald Joe Record                           *
  5.  *                                                                       *
  6.  *  All rights reserved. No part of this program or publication may be   *
  7.  *  reproduced, transmitted, transcribed, stored in a retrieval system,  *
  8.  *  or translated into any language or computer language, in any form or *
  9.  *  by any means, electronic, mechanical, magnetic, optical, chemical,   *
  10.  *  biological, or otherwise, without the prior written permission of:   *
  11.  *                                                                       *
  12.  *      Ronald Joe Record (408) 458-3718                                 *
  13.  *      212 Owen St., Santa Cruz, California 95062 USA                   *
  14.  *                                                                       *
  15.  *************************************************************************/
  16.  
  17. /*
  18.  *    @(#) coral.h
  19.  */
  20. /*
  21.  *    Written by Ron Record (rr@sco.com) 21 Oct 1992.
  22.  */
  23.  
  24. #include "patchlevel.h"
  25. #include "libXrr.h"
  26. #include <math.h>
  27. #include <memory.h>
  28. #include <stdio.h>
  29. #include <stdlib.h>
  30. #include <string.h>
  31. #include <unistd.h>
  32. #include <values.h>
  33. #include <X11/Xlib.h> 
  34. #include <X11/StringDefs.h> 
  35. #include <X11/keysym.h> 
  36. #include <X11/cursorfont.h> 
  37. #include <X11/Xutil.h>
  38. #include <X11/Xatom.h>
  39.  
  40. #define ABS(a)    (((a)<0) ? (0-(a)) : (a) )
  41. #define Min(x,y) ((x < y)?x:y)
  42. #define Max(x,y) ((x > y)?x:y)
  43.  
  44. /* Useful mathematical constants that should have been defined in math.h 
  45.  * M_LOG2E    - log2(e)
  46.  * M_LN2        - ln(2)
  47.  * M_PI        - pi
  48.  */
  49. #ifndef M_LOG2E
  50. #define M_LOG2E    1.4426950408889634074
  51. #endif
  52. #ifndef M_PI
  53. #define M_PI    3.14159265358979323846
  54. #endif
  55. #ifndef M_LN2
  56. #define M_LN2      6.9314718055994530942E-1 /*Hex  2^-1 * 1.62E42FEFA39EF */
  57. #endif
  58.  
  59. /* Useful machine-dependent values that should have been defined in values.h
  60.  * LN_MAXDOUBLE    - the natural log of the largest double  -- log(MAXDOUBLE)
  61.  * LN_MINDOUBLE    - the natural log of the smallest double -- log(MINDOUBLE)
  62.  */
  63. #ifndef LN_MINDOUBLE
  64. #define LN_MINDOUBLE (M_LN2 * (DMINEXP - 1))
  65. #endif
  66. #ifndef LN_MAXDOUBLE
  67. #define LN_MAXDOUBLE (M_LN2 * DMAXEXP)
  68. #endif
  69.  
  70. #ifndef TRUE
  71. #define TRUE 1
  72. #define FALSE 0
  73. #endif
  74.  
  75. int STARTCOLOR=16;
  76. int INDEXINC=20;
  77. int mincolindex=41;
  78.  
  79. int screen;
  80. int numwheels = MAXWHEELS;
  81. Display*    dpy;
  82.  
  83. extern double fabs();
  84. extern long time();
  85. extern int optind;
  86. extern char *optarg;
  87.  
  88. Window canvas, help;
  89.  
  90. void     redisplay();
  91. void     InitBuffer();
  92. void     BufferPoint();
  93. void     FlushBuffer();
  94.  
  95. typedef struct {
  96.     int x, y;
  97. } xy_t;
  98.  
  99. points_t Points;
  100.  
  101. GC Data_GC[MAXCOLOR];
  102.  
  103. Pixmap  pixmap;
  104. XColor    Colors[MAXCOLOR];
  105. Colormap cmap;
  106.